package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 微信小程序用户对象 sys_wx_user
 * 
 * @author ruoyi
 * @date 2024-03-11
 */
public class SysWxUser extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long wxuserid;

    /** 微信openid */
    @Excel(name = "微信openid")
    private String wxopenid;

    /** 生成的微信名称 */
    @Excel(name = "生成的微信名称")
    private String wxname;

    /** 会员级别 */
    @Excel(name = "会员级别")
    private String level;

    /** 卡密开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "卡密开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date starttime;

    /** 卡密截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "卡密截止时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endtime;

    /** 所有者id--用于后续小程序加盟--数据隔离--默认为1 */
    @Excel(name = "所有者id--用于后续小程序加盟--数据隔离--默认为1")
    private String ownerid;

    /** 状态-0不可用  1表示可用-默认可用 */
    @Excel(name = "状态-0不可用  1表示可用-默认可用")
    private Integer status;

    /** 对应绑定卡密id */
    @Excel(name = "对应绑定卡密id")
    private Long cardId;

    /** $column.columnComment */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Date createdate;

    /** $column.columnComment */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Date updatedate;

    public void setWxuserid(Long wxuserid) 
    {
        this.wxuserid = wxuserid;
    }

    public Long getWxuserid() 
    {
        return wxuserid;
    }
    public void setWxopenid(String wxopenid) 
    {
        this.wxopenid = wxopenid;
    }

    public String getWxopenid() 
    {
        return wxopenid;
    }
    public void setWxname(String wxname) 
    {
        this.wxname = wxname;
    }

    public String getWxname() 
    {
        return wxname;
    }
    public void setLevel(String level) 
    {
        this.level = level;
    }

    public String getLevel() 
    {
        return level;
    }
    public void setStarttime(Date starttime) 
    {
        this.starttime = starttime;
    }

    public Date getStarttime() 
    {
        return starttime;
    }
    public void setEndtime(Date endtime) 
    {
        this.endtime = endtime;
    }

    public Date getEndtime() 
    {
        return endtime;
    }
    public void setOwnerid(String ownerid) 
    {
        this.ownerid = ownerid;
    }

    public String getOwnerid() 
    {
        return ownerid;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }

    public Long getCardId() {
        return cardId;
    }

    public void setCardId(Long cardId) {
        this.cardId = cardId;
    }

    public void setCreatedate(Date createdate)
    {
        this.createdate = createdate;
    }

    public Date getCreatedate() 
    {
        return createdate;
    }
    public void setUpdatedate(Date updatedate) 
    {
        this.updatedate = updatedate;
    }

    public Date getUpdatedate() 
    {
        return updatedate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("wxuserid", getWxuserid())
            .append("wxopenid", getWxopenid())
            .append("wxname", getWxname())
            .append("level", getLevel())
            .append("starttime", getStarttime())
            .append("endtime", getEndtime())
            .append("ownerid", getOwnerid())
            .append("status", getStatus())
            .append("cardId", getCardId())
            .append("createdate", getCreatedate())
            .append("updatedate", getUpdatedate())
            .toString();
    }
}
